草庐IT

C++调用Python API

全部标签

c# - 为什么 C# 调用方信息属性需要默认值?

我刚刚看到C#5调用者信息属性(http://msdn.microsoft.com/en-us/library/hh534540.aspx)。这似乎是一个非常有用的功能,我已经阅读了一些文档(http://www.codeproject.com/Tips/606379/Caller-Info-Attributes-in-Csharp)。但是,我只是想知道:为什么必须传入默认值?它们是如何使用的?以下示例代码显示了如何使用调用者信息属性:publicstaticvoidShowCallerInfo([CallerMemberName]stringcallerName=null,[Call

c# - 未调用行为的 OnDetaching 函数

我在特定控件上有WPF行为。当我关闭包含控件的窗口时,不会调用OnDetaching函数。该行为继续存在(因为它注册到的事件),尽管窗口不再存在(内存泄漏)。为什么OnDetaching函数没有触发,我该如何解决?protectedoverridevoidOnAttached(){base.OnAttached();this.AssociatedObject.MouseLeftButtonDown+=AssociatedObject_PlotAreaMouseLeftButtonDown;this.AssociatedObject.MouseLeftButtonUp+=Associat

c# - 如何使用 Moq 修改模拟方法的调用参数?

是否可以修改模拟方法的调用参数?特别是我希望改变buffer在以下示例中为预填充的字节数组。例子:intMockedClass.Read(byte[]buffer,intoffset,intcount)解释:打电话Read负载count从offset读取的字节数到提供的字节数组buffer.现在我想在调用Read之后填充缓冲区已在我的应用程序代码中完成。这可能吗?如果是,我将如何连续调用Read?如果可能的话,我希望连续调用每次都返回不同的缓冲区。编辑:使用Setup像这样的命令:MockedClass.Setup(x=>x.Read(It.IsAny(),It.IsAny(),It.

c# - 如何取消阻塞已调用 AutoResetEvent 对象上的 WaitOne 方法的线程?

下面是一个具有方法“SomeMethod”的类,它说明了我的问题。classSomeClass{AutoResetEventtheEvent=newAutoResetEvent(false);//morememberdeclarationspublicvoidSomeMethod(){//somecodetheEvent.WaitOne();//morecode}}该方法被设计成线程安全的,会在不同的线程中被调用。现在我的问题是,如何才能取消阻塞在任何时间点对“theEvent”对象调用“WaitOne”方法的所有线程?这个需求在我的设计中经常出现,因为我需要能够优雅地停止和启动我的多

c# - DelegatingHandler 应该如何进行异步调用(ASP.NET MVC Web API)?

我很乐意在调用内部处理程序的SendAsync()之前执行同步工作,并在内部处理程序通过完成完成后执行同步工作。例如:protectedoverrideTaskSendAsync(HttpRequestMessagerequest,CancellationTokencancellationToken){//dosomesyncworkbeforeinnerhandlerherevarsendTask=base.SendAsync(request,cancellationToken);returnsendTask.ContinueWith(task=>{//dosomesyncworka

c# - 排队方法调用 - 知道怎么做吗?

我编写了一个高度异步的应用程序。我正在寻找一种对方法调用进行排队的方法,类似于BeginInvoke/EndInvoke所做的....但在我的OWN队列中。原因是我有自己的优化消息队列系统,使用线程池,但同时确保每个组件在请求中都是单线程的(即一个线程只处理一个组件的消息)。我有很多来回的消息。对于有限的使用,我真的很想能够只使用参数对消息调用进行排队,而不必为了进行大量管理调用而定义自己的参数、方法包装/解包。我也不总是想绕过队列,我绝对不希望发送服务等待其他服务响应。有人知道拦截方法调用的方法吗?为此使用TransparentProxy/VirtualProxy的某种方式?;)服务

c# - 在调用方法时使用 Moq 分配属性值

我正在尝试使用Moq在调用方法时分配属性。类似的东西:Mockmock=newMock();mock.Setup(x=>x.Start()).AssignProperty(y=>y.Enabled=true);是否可以在调用方法时使用Moq设置预期的属性值 最佳答案 我假设您实际上是在尝试在调用方法时在Mock上执行一个新的Setup()?如果是这样,您应该能够通过回调来完成此操作,如下所示:Mockmock=newMock();mock.Setup(x=>x.Start()).Callback(()=>mock.SetupGet(

c# - 一个中间件应该总是调用下一个?

我一直在努力了解ASP.NET5管道中间件的真正工作原理。据我所知,中间件只是一个Func,它是一个指向方法的指针,该方法接收对下一个请求委托(delegate)的引用并返回一个包装下一个请求委托(delegate)的新委托(delegate)。我们当然可以使用类来表示中间件,例如:publicclassMyMiddleware{privatereadonly_next;publicMyMiddleware(RequestDelegatenext){if(next==null){thrownewArgumentNullException("next");}_next=next;}pub

c# - 使用反射调用静态方法时如何通过ref传递参数?

我正在使用反射在对象上调用静态方法:MyType.GetMethod("MyMethod",BindingFlags.Static).Invoke(null,newobject[]{Parameter1,Parameter2});如何通过ref而不是通过值来传递参数?我假设它们默认是按值计算的。第一个参数(数组中的“Parameter1”)应该是ref,但我不知道如何以这种方式传递它。 最佳答案 对于引用参数(或C#中的out),反射会将新值复制到对象数组中与原始参数相同的位置。您可以访问该值以查看更改后的引用。publicclas

c# - WiX CustomActionData 在调用的 CustomAction 中为空

我又一次陷入了一个问题,这可能很容易解决。我想扩展一个使用WiX创建的设置,以更改已安装程序的配置文件。为此,我创建了一个CustomAction。为了能够更改配置文件,我需要知道它在我的CustomAction中的(安装)位置。因此,我尝试将INSTALLLOCATION和文件名传递给我的CustomAction。问题就在这里:CustomActionData-Attribute始终为空,设置会引发异常。我的CustomAction是一个C#DLL文件:DemoDatumErzeugen.CA.dll.它包含一个方法DatumEintragen修改配置文件。我正在尝试以这种方式访问​